package com.rao.rabbitmq.util;

import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;

/**
 * RabbitMQ 连接工具类
 *
 * @author raos
 * @emil 991207823@qq.com
 * @date 2021/6/17 21:55
 */
public class ConnectionUtil {

    private ConnectionUtil() { }

    /**
     * 获取与RabbitMQ通信的连接
     *
     * @return 连接
     * @throws Exception
     */
    public static Connection getConnection() throws Exception {
        // 定义连接工厂
        ConnectionFactory factory = new ConnectionFactory();
        // 设置服务地址
        factory.setHost("192.168.235.102");
        // 端口
        factory.setPort(5672);
        // 设置账号信息，用户名、密码、v-host
        // 一个 MQ 服务器可以设置多个虚拟机，每个虚拟机就相当于一个独立的 MQ
        factory.setVirtualHost("/understand-rabbitmq");
        factory.setUsername("admin");
        factory.setPassword("admin");
        // 返回通过工厂获取的连接
        return factory.newConnection();
    }

}
